This invention relates to a picture processing apparatus and a picture processing method employed in a graphics computer, special effect device or a video game, which are picture equipments employing a computer.
In a TV game machine for household use, a personal computer or in a graphics computer, a picture processing apparatus for generating data of a picture outputted and displayed on a TV receiver, monitor receiver, cathode ray tube (CRT) or on a display device, that is display output picture data, is constructed as the combination of a general-purpose memory chip, a central processing unit (CPU) or other processing chips. High-speed processing is enabled by providing a dedicated drawing device between the CPU and a frame buffer.
Specifically, with the above picture processing apparatus, the CPU does not access the frame buffer directly in generating a picture. Instead, the CPU performs geometric processing operations, such as coordinate transformation, clipping or light source calculations and formulates drawing commands for defining a three-dimensional model for drawing a three-dimensional picture as a combination of triangular or quadrangular basic unit figures (polygons) to send the drawing commands over an external bus to the drawing device. For example, for displaying a three-dimensional object, the latter is dissolved into plural polygons and drawing commands associated with the respective polygons are transmitted from the CPU to the drawing device, which then interprets the drawing commands sent from the CPU to the drawing device and calculates the colors of all pixels making up the polygons and the Z-values from the Z-value specifying the color data and depth of apices. The drawing device then performs rendering processing of writing the pixel data in the frame buffer to delineate a figure on the frame buffer. Meanwhile, the Z-value is the information specifying the distance along the depth from the viewing point.
For example, if a three-dimensional object is displayed on the picture generating device, the object is dissolved into plural polygons and the drawing command corresponding to the polygons is transferred from the CPU to the drawing device. For displaying the object more realistically, a technique known as texture mapping or mip mapping is used. There is also known a technique of converting color data of a picture via a color lookup table (CLUT) holding on memory the color conversion data for varying the display colors.
The texture mapping is a technique of bonding a two-dimensional picture (picture pattern), separately provided as a texture source picture, that is a texture pattern, on the surface of a polygon constituting an object. The mip mapping is among texture mapping techniques of interpolating pixel data so that, on approaching to or receding away from a three-dimensional model, the picture pattern bonded to the polygon will not depart from spontaneity.
In a calculation processing system constituted by combining general-purpose memory chips, CPU or other calculation chips, such as TV game machines for household use or personal computers, the memory operating speed or the performance of the external bus is not improved as compared to improvement in the operating frequency of calculation chips or circuit size, such that the external bus proves to be a bottleneck. The memory bus system having a large data transfer volume is generally high in latency and exhibits high performance in large-capacity burst transfer. However, the performance of the memory bus system is not exhibited for a small-capacity random transfer, such as in ordinary CPU accessing.
If a pre-fixed packet, such as a command packet, is used, efficient transfer can be achieved by exploiting a direct memory access controller (DMAC). However, the multifarious algorithm cannot be coped with thus giving rise to redundancy.
The CPU commands are consumed in the packet format and reformat thus lowering the efficiency. If the system has a cache, long packets sufficient to accommodate the packet length cannot be set, such that the burst is usually set to four words and hence the performance of the memory system of the larger data transfer volume cannot be displayed.
In view of the above-described status of the prior art, the present invention has the following objects:
Specifically, an object of the present invention is to reduce the above-mentioned bottleneck in the picture processing apparatus combined from the general-purpose memory chip, CPU and the lie calculation chip.
Another object of the present invention is to provide a picture processing apparatus and a picture processing method for raising the data transfer efficiency.
A further object of the present invention is to provide a picture processing apparatus and a picture processing method for raising the data efficiency on a memory.
A further object of the present invention is to provide a picture processing apparatus and a picture processing method for raising the efficiency in packet data development and packaging efficiency.
A further object of the present invention is to provide a picture processing apparatus and a picture processing method for affording freedom to the packet form.
A still another object of the present invention is to provide a picture processing apparatus and a picture processing method for enabling burst transfer suited to the packet form.
The present invention provides a picture processing apparatus having a plurality of picture processing units interconnected over an external bus and a memory, wherein there is provided a first packet engine at a data inlet stage of at least one picture processing unit. The first packet engine can modify the data unpacketizing sequence. Thus, with the picture processing apparatus according to the present invention, the packet form may be afforded with freedom to achieve high efficiency in data transfer and in memory data.
With the picture processing apparatus of the present invention, a second packet engine for packetizing data is provided at a data output stage of an other picture processing unit.
With the picture processing apparatus of the present invention, the second packet engine appends the appendage information specifying the unpacketizing sequence associated with the packetizing sequence to a packet at the time of data packetizing. The first packet engine performs data unpacketizing in accordance with the sequence specified by the appendage information at the time of unpacketizing. The packet engines in the picture processing apparatus according to the present invention affords freedom to the packet form for realizing efficient packet data development and packing.
With the picture processing apparatus of the present invention, the first and second packet engines have sequence selection means for selecting the data packetizing/unpacketizing sequence. The second packet engine appends the tag information specifying the data packetizing/unpacketizing sequence as selected during packetizing by the sequence selection means to a packet. The first packet engine selects the sequence as designated by the tag information during unpacketizing by the sequence selection means. The packet engines in the picture processing apparatus according to the present invention affords freedom to the packet form for realizing efficient packet data development and packing.
With the picture processing apparatus of the present invention, there is provided a first picture processing unit having a geometry processing function of defining a three-dimensional model as a combination of unit figures for formulating drawing commands for drawing a three-dimensional figure. The first picture processing unit packetizes the drawing commands thus formulated to send the packetized drawing commands by the first packet engine as a command packet over an external bus. There is also provided a second picture processing unit, as the above-mentioned picture processing units, for unpacketizing the command packet sent from the first picture processing unit by the first packet engine, interpreting the drawing command sent as the command packet and performing the rendering processing of writing the pixel data in a frame buffer. The picture processing apparatus thus can perform efficient drawing processing.
The present invention also provides a picture processing method carried out by a picture processing apparatus having a plurality of picture processing units interconnected over an external bus and a memory. The picture processing method includes performing data unpackatizing by a first packet engine at a data inlet stage of at least one picture processing unit. The first packet engine can modify a data unpacketizing sequence. With the picture processing method of the present invention, the packet form may be afforded with freedom for achieving high data transfer efficiency and higher memory data efficiency.
With the picture processing method of the present invention, data packetizing is performed by a second packet engine provided at a data output stage of an other picture processing unit.
With the picture processing method of the present invention, the second packet engine appends the appendage information specifying the unpacketizing sequence associated with the packetizing sequence to a packet at the time of data packetizing, and data unpacketizing is performed by the first packet engine in accordance with the sequence specified by the appendage information at the time of data unpacketizing. Thus the picture processing method according to the present invention affords freedom to the packet form for realizing efficient packet data development and packing.
The picture processing method of the present invention also includes selecting the data packetizing/unpacketizing sequence during data packetizing and appending the tag information specifying the data packetizing/unpacketizing sequence during the data packetizing to a packet, by the second packet engine, and selecting the unpacketizing sequence as designated by the tag information during data unpackaging by the first packet engine for performing the data unpackaging. Thus the picture processing method according to the present invention affords freedom to the packet form for realizing efficient packet data development and packing.
The picture processing method of the present invention also includes performing, by a first picture processing unit, geometry processing of defining a three-dimensional model as a combination of unit figures for formulating drawing commands for drawing a three-dimensional figure, packetizing the drawing commands thus formulated by the second packet engine and sending the packetized commands as a command packet over an external bus, and unpacketizing, in a second picture processing unit, the command packet sent from the first picture processing unit by the first packet engine, interpreting the drawing command sent as the command packet and performing the rendering processing of writing the pixel data in a frame buffer. Thus the picture processing apparatus according to the present invention can efficiently perform drawing processing.
Thus, according to the present invention, the bottleneck in the conventional picture processing apparatus constructed by combination of the general-purpose memory chips, CPU or other calculation chips can be alleviated.